home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Frameworks / TransSkel 3.24 / Demos / Pascal Demos / MultiSkel / MultiSkel.p < prev    next >
Text File  |  1996-01-25  |  1KB  |  87 lines

  1. program MultiSkel;
  2.  
  3.     uses
  4.         QuickDraw, Windows, Menus,
  5.         TransSkel, MSkelRgn, MSkelZoom, MSkelEdit, MSkelHelp, MSkelGlobals;
  6.  
  7.     const
  8.  
  9.         open = 1;
  10.         close = 2;
  11.         quit = 4;
  12.  
  13.     var
  14.  
  15.         fileMenu: MenuHandle;
  16.  
  17.  
  18.     procedure MyShowWindow (wind: WindowPtr);
  19.     begin
  20.         if (WindowPeek(wind)^.visible = false) then
  21.             begin
  22.                 SelectWindow(wind);
  23.                 ShowWindow(wind);
  24.             end;
  25.     end;
  26.  
  27.  
  28.     procedure DoAppleMenu (item: Integer);
  29.         var
  30.             ignore: Integer;
  31.     begin
  32.         ignore := SkelAlert(aboutAlrtRes, SkelDlogFilter(nil, true), skelPositionOnMainDevice);
  33.         SkelRmveDlogFilter;
  34.     end;
  35.  
  36.  
  37.     procedure DoFileMenu (item: Integer);
  38.     begin
  39.         case item of
  40.             open: 
  41.                 begin
  42.                     MyShowWindow(rgnWind);
  43.                     MyShowWindow(zoomWind);
  44.                     MyShowWindow(editWind);
  45.                     MyShowWindow(helpWind);
  46.                 end;
  47.             close: 
  48.                 SkelClose(FrontWindow);
  49.             quit: 
  50.                 SkelStopEventLoop;
  51.         end;
  52.     end;
  53.  
  54.  
  55.     procedure SetupMenus;
  56.         var
  57.             ignore: Boolean;
  58.     begin
  59.         SkelApple('About MultiSkel…', @DoAppleMenu);
  60.         fileMenu := GetMenu(fileMenuRes);
  61.         ignore := SkelMenu(fileMenu, @DoFileMenu, nil, false, false);
  62.         editMenu := GetMenu(editMenuRes);
  63.         ignore := SkelMenu(editMenu, @EditWindEditMenu, nil, false, true);
  64.     end;
  65.  
  66.  
  67.     procedure SetWaitTimes;
  68.         var
  69.             f: LongInt;
  70.             b: LongInt;
  71.     begin
  72.         SkelGetWaitTimes(f, b);
  73.         b := f;
  74.         SkelSetWaitTimes(f, b);
  75.     end;
  76.  
  77. begin
  78.     SkelInit(nil);
  79.     SetWaitTimes;
  80.     SetupMenus;
  81.     RgnWindInit;
  82.     ZoomWindInit;
  83.     EditWindInit;
  84.     HelpWindInit;
  85.     SkelEventLoop;
  86.     SkelCleanup;
  87. end.